module.exports = grunt => {
    // 加载插件
    // 直接运行yarn grunt clean   抛出错误Warning: Task "clean" failed. Use --force to continue. 需要去配置选项
    // grunt.initConfig({
    //     clean: {
    //        // temp: 'temp/app.js'
    //        // temp: 'temp/*.txt'  // temp 下所有.txt的文件
    //        temp: 'temp/**'  // temp 下的所有子目录以及子目录下的所有文件
    //     }
    // })
    // grunt.loadNpmTasks('grunt-contrib-clean')

    const sass = require('sass');
    const loadGruntTasks = require('load-grunt-tasks');

    grunt.initConfig({
        sass: {
            // 抛出后添加options
            options: {
                sourceMap: true,
                implementation: sass
            },
            main: {
                files: {
                    'dist/css/main.css': 'src/scss/main.scss'
                }
            }
        },
        babel: {
            options: {
                sourceMap: true,
                presets: ['@babel/preset-env']
            },
            main: {
                files: {
                    'dist/js/app.js': 'src/js/app.js'
                }
            }
        },
        watch: {
            js: {
                files: ['src/js/*.js'],
                tasks: ['babel']
            },
            scc: {
                files: ['src/scss/*.scss'],
                tasks: ['sass']
            }
        }
    })
    // grunt.loadNpmTasks('grunt-sass')
    // 配置好以上代码后 会抛出Fatal error: The implementation option must be passed to the Sass task，需要在initConfig中添加options

    loadGruntTasks(grunt) // 自动加载所有的grunt插件中的任务
    // 刚启动的时候是不执行sass 和babel的 需要做个映射
    grunt.registerTask('default', ['sass', 'babel', 'watch'])
}